package com.boatAnchorAssistant.service.service.in;

import nirvana.core.domains.vo.PageResult;
import com.boatAnchorAssistant.pojo.param.notice.*;
import com.boatAnchorAssistant.pojo.vo.notice.*;

import java.util.List;


/**
 * 【描 述】：通知服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface NoticeService {

    /**
     * 创建通知
     *
     * @param param
     */
    void createNotice(CreateNoticeParam param);

    /**
     * 修改通知
     *
     * @param param
     */
    void editNotice(EditNoticeParam param);

    /**
     * 移除通知
     *
     * @param id
     */
    void removeNotice(Long id);

    /**
     * 启动/禁用通知
     *
     * @param id
     */
    void enabledNotice(Long id);

    /**
     * 获取通知详情
     *
     * @param id
     * @return
     */
    GetNoticeVo getNotice(Long id);

    /**
     * 获取最近的一条通知
     * @return
     */
    GetNoticeVo selectOneNotice();

    /**
     * 获取通知列表
     *
     * @param param
     * @return
     */
    PageResult<GetNoticeListVo> getNoticeList(GetNoticeListParam param);


    /**
     * 获取通知下拉列表
     *
     * @param param
     * @return
     */
    List<GetNoticeDownListVo> getNoticeDownList(GetNoticeDownListParam param);


}